Performance Characterization of the FreeBSD Network Stack

نویسندگان

  • Hyong-youb Kim
  • Scott Rixner
چکیده

This paper analyzes the behavior of high-performance web servers along three axes: packet rate, number of connections, and communication latency. Modern, high-performance servers spend a significant fraction of time executing the network stack of the operating system—over 80% of the time for a web server. These servers must handle increasing packet rates, increasing numbers of connections, and the long round trip times of the Internet. Low overhead, non-statistical profiling shows that a large number of connections and long latencies degrade instruction throughput of the operating system network stack significantly. This degradation results from a dramatic increase in L2 cache capacity misses because the working set size of connection data structures grows in proportion to the number of connections and their reuse decreases as communication latency increases. For instance, L2 cache misses increase the number of cycles spent executing the TCP layer of the network stack by over 300% from 1312 cycles per packet to 5364. The obvious solutions of increasing the L2 cache size or using prefetching to reduce the number of misses are surprisingly ineffective.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Tuning and Testing the FreeBSD 6 TCP Stack

Tuning an operating system’s network stack is crucial in order to achieve optimum performance from network intensive applications. This report discusses some of the key factors that affect network performance of FreeBSD 6.x based hosts. It then goes on to explain how to tune the FreeBSD 6.x network stack and how to easily test and evaluate the changes made.

متن کامل

Implementing a Clonable Network Stack in the FreeBSD Kernel

Traditionally, UNIX operating systems have been equipped with monolithic network stack implementations, meaning all user processes have to cooperatively share a single networking subsystem. The introduction of the network stack cloning model enables the kernel to simultaneously maintain multiple independent and isolated network stack instances. Combined with forcible binding of user processes t...

متن کامل

Evaluating the FreeBSD 9.x Modular Congestion Control Framework's Performance Impact

Modular congestion control (modCC) is a recently added feature to the FreeBSD kernel. The implementation introduced a number of key changes to the TCP stack with the potential to impact performance. We test the relative performance of TCP before and after these changes using the 215163 and 217806 Subversion repository revisions of FreeBSD’s “head” (9.x) development branch respectively. We find ...

متن کامل

Introduction to Multithreading and Multiprocessing in the FreeBSD SMPng Network Stack

The FreeBSD SMPng Project has spent the past five years redesigning and reimplementing SMP support for the FreeBSD operating system, moving from a Giant-locked kernel to a fine-grained locking implementation with greater kernel threading and parallelism. This paper introduces the FreeBSD SMPng Project, its architectural goals and implementation approach. It then explores the impact of SMPng on ...

متن کامل

Design and Implementation of a Firewire Device Driver on FreeBSD

A Firewire device driver has been implemented on FreeBSD system. The driver provides IP network stack, native socket system interface, and stream device interface such as a DV video. The device driver shows enough performance on the IP over Firewire environment at 30Mbps. Also, DV video communication application using IP has been developed with the device driver and it enebles DV quality commun...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2005